package com.thread;

public class Daemon {

	public static void main(String[] args) throws InterruptedException {
		// Daemon线程是一种支持型线程，因为它主要被用作程序中后台调度以及支持性工作。
		// 当一个Java虚拟机中不存在非Daemon线程的时候，Java虚拟机将会退出。
		// 可以通过调用Thread.setDaemon(true)将线程设置为Daemon线程。
		// Daemon属性需要在启动线程之前设置，不能在启动线程之后设置。
		Thread thread = new Thread(new DeamonRunner(), "DeamonRunner");
		thread.setDaemon(true);
		thread.start();
		// 加上这个，就可以让设置的deamon线程 执行完毕了
		// Thread.sleep(200l);
	}

	static class DeamonRunner implements Runnable {
		public void run() {
			try {
				System.out.println("---");// 只有这一行输出
				Thread.sleep(100);
				System.out.println("===");
			} catch (InterruptedException e) {
				System.out.println("+++");
			} finally {
				System.out.println("DeamonThread finally run.");
			}
		}
	}
}